package com.meilai.project.controller.web.adMake.vo;

import com.meilai.project.controller.web.adMake.dto.BillAdMakeMediaCountDTO;
import com.meilai.project.controller.web.adMake.entity.BillAdMake;
import com.meilai.project.controller.web.adMake.entity.BillAdMakePic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

/**
 * @Author yxg
 * @Date 2022/8/3 0:56
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel
public class BillAdMakeWebVO extends BillAdMake {
    @ApiModelProperty(value = "当前人是否可以审核")
    private Boolean can_check;

    @ApiModelProperty(value = "当前人是否为提交人")
    private Boolean is_applyer;

    @ApiModelProperty(value = "合同编号")
    private String contract_num;

    @ApiModelProperty(value = "客户名称")
    private String customer_name;

    @ApiModelProperty(value = "分公司名称")
    private String dept_name;

    @ApiModelProperty(value = "开始日期")
    private LocalDate daterange_start;

    @ApiModelProperty(value = "结束结束")
    private LocalDate daterange_end;

    @ApiModelProperty("是否需要小样")
    private Boolean has_sample;

    @ApiModelProperty("画面(for列表页)")
    private List<String> picList;

    @ApiModelProperty(value = "生成状态，1：未生成，2：部分生成，3：全部生成")
    private Integer gen_status;

    @ApiModelProperty(value = "确认状态，1：未确认，2：部分确认，3：全部确认")
    private Integer confirm_status;

    @ApiModelProperty(value = "标记转态，1：未标记，2：标记审批中，3：已标记")
    private Integer mark_status;

    @ApiModelProperty(value = "外单类型名称")
    private String dict_class_out_name;

    @ApiModelProperty(value = "内单类型名称")
    private String dict_class_in_name;

    @ApiModelProperty(value = "申请人姓名")
    private String flow_applyer;

    @ApiModelProperty(value = "被标记类型id，对应dictionary表的id")
    private Long mark_id;

    @ApiModelProperty(value = "被标记类型名称")
    private String mark_name;

    @ApiModelProperty(value = "被标记的备注")
    private String mark_memo;

    @ApiModelProperty("画面(for详情页)")
    private List<BillAdMakePic> picVOList = new ArrayList<>();

    @ApiModelProperty("被标记的制作单(for详情页)")
    private List<BillAdMakeWebVO> markVOList = new ArrayList<>();

    @ApiModelProperty("分配供应商(for详情页)")
    private List<BillAdMakeDisSupplierVO> disVOList = new ArrayList<>();

    @ApiModelProperty("配送(for详情页，含小样配送)")
    private List<BillAdMakeDeliverVO> deliverVOList = new ArrayList<>();

    @ApiModelProperty("供应商确认(for列表页的生成链接列表)")
    private List<BillAdMakeSupplierConfirmVO> confirmVOList = new ArrayList<>();

    @ApiModelProperty("资源类型及数量")
    private List<BillAdMakeMediaCountDTO> mediaCountList = new ArrayList<>();

    @ApiModelProperty("供应商、材质、宽高、面积、单价、总价")
    private List<BillAdMakePicCountVO> supplierPicCountList = new ArrayList<>();
}
